# vioms2tg

Бот для пересылки новостей из ВИОМС в телеграм.
Получает новость из ВИОМС API, удаляет или заменяет HTML тэги не поддерживаемые в telegra.ph, делает пост в телеграф через API и отправляет ссылку на новость в заданный телеграм канал.

## Руководство по установке и настройке

### Предварительные требования

- Установка производится на компьютере, постоянно подключенном к интернет. Это может быть простой компьютер или ноутбук с операционной системой Windows, MacOS, Linux, возможна установка на смартфон с Android. Также подойдет одноплатный компьютер (Raspberry Pi). Либо это может быть выделенный сервер (VDS) или облачный сервер (VPS)
- Требования к железу минимальные
- Необходим установленный в системе интерпретатор языка Python версии 3.7 и выше [https://www.python.org/downloads/](https://www.python.org/downloads/)
- Установленная система контроля версий git [https://git-scm.com/downloads](https://git-scm.com/downloads)

### Регистрация телеграм бота.

- Перейти в чат к телеграм-боту Bot Father [@BotFather](https://t.me/BotFather) 
- Отправить команду start, затем команду /newbot
- Бот спросит, какое имя присвоеиить вашему новому боту. Запишите любое название кирилицей или латиницей. Можно несколько слов
- Затем бот попросит ввести юзернейм вашего бота. Здесь используйте только латиницу. Необходимо уникальное имя в одно слово, на конце обязательно должно быть слово "bot". Например, `my_new_bot`
- Запишите в надежное место токен, который вам выдаст бот. Через него ваша программа будет обрашаться в вашему боту. Токен выглядит примерно так `54434535345:AASfKKesreN41hfFBis0WQ-XF7xbPD_--g7U`

### Скачивание и установка
Скачивание и установка обычно производится через терминал. Ниже приведена последовательность команд для такой установки. 

- `cd /путь/к/папке/установки` - переходим в нужный каталог, где создадим паку с программой
- `git clone https://notabug.org/granthin/vioms2tg.git` - создаем папку с программой и скачиваем в нее файлы программы
- `cd vioms2tg` - переходим внутрь папки с программой
- `pip install virtualenv` - установка модуля для работы с виртуальным окружением 
- `python3 -m venv env` - создание виртуального окружения, т.е. папки, где будут храниться модули
- `source env/bin/activate` - активация виртуального окружения
- `pip install -r requirements.txt` - установка необходимых модулей
- Для следующего шага понадобится бот токен, который вы получили у Bot father, а также ваш Telegram user ID. Если вы хотите отправлять новости в какой-то чат или канал, то необходимо добавить созданного вами бота администратором этого чата или канала. А также необходимо узнать ID этого канала. [Как узнать ID в телеграм](https://stelegram.ru/ispolzovanie/kak-uznat-id-chata-polzovatelya-i-kanala)
- Открыть файл `.env.example` с помощью любого текстового редактора. На сервере с линукс это может быть команда `nano .env.example`. Внести необходимые данные в этот файл. Установить BOT_TOKEN, ADMIN_ID (ваш телеграм айди). Если отправка только вам, то CHAT_ID установите такой же как ваш айди. 
- Сохраните файл и переименуйте его в `.env`. Для линукс это команда `mv .env.example .env`
- Откройте любым текстовым редактором файл `config.py` и отредактируйте подставив нужные данные. Период проверки новостей в минутах, айди рассылки ВИОМС (можно узнать зайдя на страницу рассылки через браузер. Например https://www.vioms.ru/email_lists/151 айди это пследные цифры - 151). Название лок-файла можно не менять, обязательно укажите ссылку на какую-то картинку, замените существующую. Поменяйте название вашего новостного канала. Сохраните файл.
- `python3 vioms2tg.py` - запуск в тестовом режиме. Бот будет продолжать работать пока выне закроете терминал или не отключитесь от сервера.



## Запуск в рабочем режиме

Чтобы все работало, как нужно, ваш компьютер или сервер должен быть постоянно включен и иметь постоянное соединение с Интернет. Для надежного запуска бота на сервере или компьютере необходимо установить несколько программ. 

- Скачивайте NodeJS версии LTS для вашей системы [отсюда](https://nodejs.org/ru/). Для windows устанавливается как обычная программа, на сервер устанавливается немного иначе. Для сервера на Debian/Ubuntu инструкции [здесь](https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions)
- Проверяем, удалась ли установка nodejs `node -v` - должно показать версию, которую вы устанавливали
- Устанавливавем менеджер процессов для запуска бота, как процесса, чтобы он автоматически запускался при перезагрузке компьютера `npm install pm2 -g`
- Запускаем бота как процесс. Запускать нужно из папки с программой `pm2 start vioms2tg.py --interpreter=/путь/к/папке/с/программой/от/корня/системы/env/bin/python3` 
- Менеджер pm2 отобразит табличку с запущенными через него процессами и покажет их статус. Вызывается такая табличка командой `pm2 list`

Связаться со мной можно через телеграм бота [@hkminsk_news_bot](https://t.me/hkminsk_news_bot) или через сайт [https://sashagra.site/](https://sashagra.site/)
